A neural network is a model devised by imitating neurons and synapses in the brain, and is constituted by processing in two stages including learning and recognition. In the learning stage, features are learned from many inputs to establish a neural network for recognition processing. In the recognition stage, it is recognized what the new input is using the neural network.
In recent years, great progress has been made in the technique of a learning stage, and for example, a multi layer neural network having a high degree of expressing ability can be structured by deep learning.
On the other hand, when the processing in the recognition stage is implemented with software, it could take a lot of time in the processing and lead to higher power consumption. Accordingly, the processing in the recognition stage may be performed with hardware. However, in the multi layer neural network, there are many parameters and much computation, and therefore, the hardware configuration may become complicated.